Method and computer program product for compressing and decompressing imagery data

ABSTRACT

Techniques are provided for compressing and decompressing image data which may reduce the distortion that may otherwise be created by the compression of data values representative of null posts, overlays or other features that differ from the underlying image. In compression, a coefficient generated by a forward wavelet transform may be replaced with respective replacement coefficients. The transformed image data is then subjected to an inverse wavelet transform to generate modified image data in which the data values which differ from the underlying image have been replaced by interpolated or extrapolated values. The modified image data may be compressed in accordance with wavelet-based image compression. Alternatively, wavelet image compression may be applied directly to the coefficients resulting from the modified forward wavelet transform. In decompression, the compressed image data may be decompressed and data values representative of null posts or other features may be replaced with their original values.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.11/836,543, filed Aug. 9, 2007 which is hereby incorporated herein inits entirety by reference.

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

The invention was made with Government support under Contract No.N68936-02-C-0043 awarded by the Naval Air Warfare Center WeaponsDivision. The Government has certain rights in this invention.

FIELD OF THE INVENTION

Embodiments of the present invention relate generally to the compressionand decompression of imagery data and, more particularly, to thecompression and decompression of the imagery data in accordance withlossy wavelet-based compression and decompression techniques.

BACKGROUND OF THE INVENTION

In order to facilitate storage and transfer of imagery data, the imagerydata must oftentimes be compressed. As such, various lossy compressiontechniques have been developed. For example, a number of lossywavelet-based compression techniques utilizing wavelet transforms haveemerged as promising alternatives to traditional spectral decompositionssuch as Fourier and cosine transforms. See, for example, G. Strang andT. Nguyen, Wavelets and Filter Banks, Welleslay-Cambridge Press,Welleslay Mass. (1996).

However, image data may sometimes include data values that aresignificantly different than the adjacent data values and are notrepresentative of the underlying image. In regards to elevation data,such as that utilized by aircraft navigation programs, null posts areinserted in the image data to provide a default elevation for thoselocations for which actual elevation data is unavailable. In order toidentify the null posts as a placeholder as opposed to an actualelevation value, null posts having an elevation value of −32,768 metersmay be utilized since this elevation value otherwise never occurs. Asanother example, the image data representative of an image to bepresented upon a computer monitor or other display, such as the imagerepresented by a JPEG file may include a textual or graphical overlaythat is defined by corresponding data values that differ significantlyfrom the data values representative of the underlying image adjacent thetextual or graphical overlay. In these instances, the lossy compressionof the data values representative of the null posts, the textual orgraphical overlays or other features that are distinct from theunderlying image may cause distortion in the resulting image, i.e., theimage following compression and then subsequent decompression. Thisdistortion is due to quantization which may cause the data valuesrepresentative of the null posts or graphical or textual overlays, forexample, to deviate from their original value, thereby rendering it moredifficult to properly identify each of these data values. For example, adata value representative of a null post may not be recognized as such adata value if its value has been perturbed from the pre-assigned valueof −32,768. Additionally, the lossy compression of the data valuesrepresentative of null posts, textual or graphical overlays or otherfeatures that are distinct from the underlying image may cause blurringand aliasing effects that cause the oftentimes extreme values of thesedata values to adversely effect the values of adjacent pixels which,therefore, disadvantageously alter the resulting decompressed image. Assuch, it would be desirable to provide a technique to permit moreaccurate reconstruction of image data following lossy wavelet-basedcompression even in instances in which the image data includes datavalues representative of a null post, an overlay or some other featurethat is not included within the underlying image.

One technique for minimizing the distortion in the resulting imagesdefines regions of interest that include those data valuesrepresentative of null posts, overlays, or other features that differfrom and are not a portion of the underlying image. Each region ofinterest may be compressed via a lossless compression technique in amanner distinct from the lossy wavelet-based compression to which theremainder of the image is subjected. While the resulting image will haveless distortion, the use of lossless compression for the regions ofinterest reduces the amount of compression and thereforedisadvantageously increases the size of the resulting image file.Accordingly, it would also be desirable to subject all of the image datato lossy wavelet-based compression so as to maintain relatively goodcompression performance while minimizing the distortion in the resultingimage even in instances in which the image data includes null posts,overlays or other features that are not present in the underlying image.

BRIEF SUMMARY OF THE INVENTION

A method and computer program product are provided for compressing anddecompressing image data in order to maintain desirable compressionperformance while reducing the distortion in the resulting image thatmay otherwise may be created by the compression of data valuesrepresentative of null posts, overlays or other features that differfrom and do not form a portion of the underlying image.

In one embodiment, a method and computer program product of preparingimage data that includes a plurality of data values having respectivelocations for compression are provided. Initially, the locations of oneor more data values of a first subset of data values are identified.This first subset may include those pixels representative of null posts,overlays or other features distinct from the underlying image. The imagedata is then subjected to a forward wavelet transform that generatestransformed image data that includes at least one coefficient associatedwith each respective data value. Thereafter, the at least onecoefficient associated with the one or more data values of the firstsubset may be replaced with respective replacement coefficients. Thetransformed image data including the replacement coefficients is thensubjected to an inverse wavelet transform to generate modified imagedata. In one embodiment, the modified image data may then be compressedin accordance with lossy wavelet-based image compression.

In one embodiment, the replacement coefficients may be chosen so as tominimize the mean squared value for the replacement coefficientsassociated with the data values of the first subset and/or the at leastone coefficient may be replaced with replacement coefficients determinedby interpolation from other adjacent coefficients. Additionally, theforward wavelet transform may generate both detail coefficients andapproximation coefficients. As such, the detail coefficient associatedwith an odd-indexed data value of the first subset may be replaced witha replacement coefficient of zero. The reduced or zero magnitudes forthe replacement coefficients will in turn reduce the incidence of imageartifacts associated with the quantization of these coefficients. In thespecial case where a replacement coefficient is zero, the quantizationof the coefficient introduces no distortion into the reconstructed imagesince zero-valued coefficients are unchanged by quantization when usingthe deadzone quantizers employed in JPEG 2000 and other wavelet-basedcompression algorithms.

In another embodiment, the modified image data may be compressed usinglossless wavelet-based image compression. While the use of losslesscompression would prevent the occurrence of artifacts in relationship tonull posts or other non-image content, it is common to use waveletcompressed imagery in a progressive or embedded fashion where acompressed file may be truncated to obtain a higher compression ratioresult for the same image. This truncation practice can turn losslesscompression results into lossy compression results. As such, the use ofthe modified image data in lossless compression will provide reductionof artifacts related to null posts and other pixels which are not partof the underlying image, if the lossless compression result is evertruncated to produce a lossy compression result.

In accordance with another aspect of the present invention, a method andcomputer program product for decompressing image data are provided. Inthis regard, original data values are identified for a first subset ofdata values. The original data values may be identified by providing amap of the original data values of the first subset as well as therespective locations of the original data values within the image data.In one embodiment, an encoded representation of the map is provided thatis subsequently decoded in order to access the original data values. Inaddition to identifying the original data values, the method andcomputer program product of this aspect of the present invention alsodecompress the compressed representation of the image data in accordancewith an inverse wavelet transform, such as in accordance with awavelet-based decompression technique. Thereafter, respective locationsof the data values of the first subset are identified such that the datavalues of the first subset can be replaced with the respective originaldata values. As such, the image can be reconstructed and the data valuesrepresentative of the null posts, overlays or other features distinctfrom the underlying image can be reinserted without any degradation as aresult of the intervening compression and decompression.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will nowbe made to the accompanying drawings, which are not necessarily drawn toscale, and wherein:

FIG. 1 is a representation of a wavelet basis function;

FIG. 2 is a block diagram of a single iteration of a Fast WaveletTransform (FWT) and a Fast Inverse Wavelet Transform;

FIG. 3 is a block diagram of three iterations of a FWT and a FastInverse Wavelet Transform;

FIG. 4 is a representation of the application of the FWT to an image;

FIG. 5 is a diagrammatic view of the lifting steps for Forward andInverse Wavelet Transforms using 5-3 Biorthogonal Filters at a singleresolution level; and

FIG. 6 is a diagrammatic representation of the symmetric extension of aneven length signal with 5-3 biorthogonal filters;

FIG. 7 is a diagrammatic representation of a wavelet transform of aneven length signal using symmetrically extended 5-3 biorthogonalfilters;

FIG. 8 is a diagrammatic representation of a wavelet transform of an oddlength signal using symmetrically extended 5-3 biorthogonal filters;

FIG. 9 provides examples of distortion effects under lossy wavelet-basedcompression;

FIG. 10 is a diagrammatic representation of the processing of anodd-indexed null sample in accordance with one embodiment of the presentinvention;

FIG. 11 is a diagrammatic representation of the processing of aneven-indexed null sample surrounded by null samples sample in accordancewith one embodiment of the present invention;

FIG. 12 is a block diagram illustrating the operations performed tocompress image data by a method and a computer program product inaccordance with one embodiment of the present invention;

FIG. 13 is a block diagram illustrating the operations performed todecompress image data by a method and a computer program product inaccordance with one embodiment of the present invention; and

FIG. 14 is a block diagram of an apparatus for compressing and/ordecompressing image data in accordance with one embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE INVENTION

The present inventions now will be described more fully hereinafter withreference to the accompanying drawings, in which some, but not allembodiments of the inventions are shown. Indeed, these inventions may beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein; rather, these embodiments areprovided so that this disclosure will satisfy applicable legalrequirements. Like numbers refer to like elements throughout.

The method, apparatus and computer program product of embodiments of thepresent invention may reduce distortion while maintaining or improvingthe compression performance in conjunction with the compression anddecompression of an image that includes a null post, a textual orgraphical overlay or other feature distinct from the underlying image,i.e., an element that is not a portion of the underlying image, inaccordance with a lossy wavelet-based compression technique.Wavelet-based compression relies upon a wavelet transform to decomposean image, hereinafter also referred to as a signal, in terms of basisfunctions which are dilations and translations of a single prototypefunction. This prototype function is a bandpass or highpass filter,named a “wavelet” because it is both oscillatory and spatiallylocalized. A simple 1-D wavelet, one member of a “family” of waveletsuseful for compression applications, is shown in FIG. 1. Thetranslations and dilations of the prototype wavelet yield a basis whichcan produce a signal or image decomposition localized in position andresolution, respectively.

The wavelet transform can be efficiently computed using a fast discretealgorithm which recursively applies the wavelet filter and a companionlowpass filter called a “scaling” filter. The wavelet filter and scalingfilter together form a quadrature mirror filter pair, so-called becausethey split the spectrum of a discrete-time signal into mirror halves.For a single iteration of the Fast Wavelet Transform (FWT) algorithm,the wavelet and scaling filters are convolved against the signal,followed by decimation (downsampling) by a factor of two. This processis illustrated in FIG. 2, where H₀ and H₁ represent the scaling analysisfilter and the wavelet analysis filter, respectively. F₀ and F₁represent the scaling synthesis filter and the wavelet synthesis filter,respectively. Decimation by two, i.e., dropping every other sample, isrepresented by ↓2. These analysis filters split the signal into a lowresolution approximation signal (extracted by the scaling filter anddenoted by a(n)) and a high resolution detail signal (extracted by thewavelet filter and denoted by d(n)). Due to the decimation step, theapproximation and detail signals each have half as many samples as theoriginal signal, x(n), but together they contain all of the informationof the original signal. The complete FWT algorithm operates byrecursively iterating this filtering step on the approximation signal,yielding a multiresolution decomposition of the signal, consisting ofthe detail signals at various resolutions and a final low resolutionapproximation signal. FIG. 3 depicts three iterations of the FWT,showing both the forward and inverse transforms. The cascade ofrecursive filter and decimation operations results in basis functionsfor the detail signals at the various resolution levels which are simplydilated versions of the prototype wavelet function. This scalingproperty of the wavelet basis functions is a result of constraintsapplied to the design of the wavelet and scaling filters.

The multiresolution wavelet representation of the original signal hasmany useful properties. For typical real world signals, most signalenergy will be concentrated into a small subset of the coefficients,concentrated toward the lower resolution levels and primarily associatedwith edges and other localized signal features. This energy compactionproperty makes the wavelet transform useful for many applicationsincluding compression, denoising, signal or image fusion, and featureextraction. The original signal (or a processed version thereof) can berecovered by applying the fast inverse wavelet transform, whichessentially reverses the steps of the forward transform.

The method, apparatus and computer program product can utilize any of anumber of different wavelet filters in the wavelet-based compressionprocess. The ideal properties of a wavelet filter includeorthonormality, smoothness, vanishing moments, symmetry, spatial/timelocalization, compact support, and rational coefficient values. In thisregard, orthonormal transforms preserve the L² norm in the transformdomain which preserves energy measures and RMS error measures, thussimplifying quantization strategies. Smooth synthesis filters reduceartifacts due to quantization and approximation which improves thevisual appearance of reconstructed signals and images. As to vanishingmoments, a wavelet filter with N vanishing moments has a convolutionproduct of zero with polynomials up to order N−1 which causes thetransform coefficients to be small or zero wherever the signal can bewell approximated by a piecewise polynomial. Symmetric filters have alinear phase response which results in several desirable propertiesincluding constant delay due to filter computations, accurate estimationof time or position of signal or image features, and no phase distortiondue to approximation of transform coefficients. Also, symmetric filtersallow simple handling of image boundaries, through symmetric extensionof the image content. As to spatial/time localization, the localizationof the wavelet filters in the spatial/time domain allows localizedsignal or image content to be represented efficiently, i.e., featureswhich are localized in space or time can be explicitly captured with afew transform coefficients, which improves the performance forcompression and analysis applications. Additionally, localization of thewavelet filters in the frequency domain allows band-limited signal andimage content to be represented efficiently. A compactly supportedfilter has a finite number of filter coefficients which reducescomputational complexity and improves the spatial/time localizationcharacteristics of the filter. Finally, some wavelet filters can beimplemented with filter coefficients which are multiples of powers of ½which allow computationally efficient implementations which replacemultiplications with simple shifts and adds.

Unfortunately, no single wavelet filter combines all of the desiredproperties. For example, the Heisenberg uncertainty principle places alower bound on the joint time and frequency localization that can beachieved by any filter. Thus, improving the resolution in time resultsin degraded resolution in frequency, and vice versa. Also, certaincombinations of desired properties are mutually exclusive. For example,any wavelet filters which are orthogonal and compactly-supported (exceptfor the trivial 2-tap Haar filter) must have irrational coefficientvalues and will not be symmetric or antisymmetric, and thus cannot havea linear phase response.

As such, the choice of a wavelet filter requires tradeoffs between theseproperties. For example, biorthogonal wavelet filters are usually chosenfor image compression applications. By giving up orthogonality,biorthogonal filters achieve many desirable properties: compact support,symmetry, and rational coefficients (multiples of powers of ½). Also,with biorthogonal filters, the properties can be split between theforward and inverse transforms in a preferred manner. For example, thenumber of vanishing moments for the analysis filters can be maximized inorder to efficiently approximate piecewise polynomials, whileemphasizing smoothness for the synthesis filters in order to minimizeobjectionable quantization artifacts. Although biorthogonal waveletfilters are not orthogonal, they are almost orthogonal, due to theirlocalization in the time and frequency domains. Thus, the L² norm isalmost preserved in the transform domain, so that RMS and energymeasures computed in the transform domain are sufficiently accurate formost purposes.

One advantageous wavelet filter employed by JPEG 2000 (Part 1—CoreCoding) and other compression algorithms, such as the EagleEye™compression algorithm employed by The Boeing Company, use a 5-3biorthogonal wavelet filter because it combines good coding efficiencyand efficient computation. The denotation 5-3 indicates that the basisfilters have five and three filter taps (coefficients) respectively. The5-3 filter pair has two vanishing moments on the analysis filters, whichallows them to effectively decorrelate regions which can be approximatedby first-order polynomials (constant or linearly varying). In contrast,longer filters with additional vanishing moments can decorrelatehigher-order polynomial regions, but are less spatially localized(encoding edges and small features less efficiently) and require asignificant increase in computation. The filter coefficients (L₁normalized) for the 5-3 biorthogonal filters are:

Forward scaling filter: H ₀={−⅛+ 2/8+ 6/8+ 2/8−⅛}

Forward wavelet filter: H ₁={−¼+ 2/4−¼}

Inverse scaling filter: F ₀={+¼+ 2/4+¼}

Inverse wavelet filter: F ₁={−⅛− 2/8+ 6/8− 2/8−⅛}

The FWT algorithm can be easily extended to two-dimensional imagery byseparately filtering the rows and columns, and iterating on the lowpassapproximation image. This process is equivalent to decomposing the imagein terms of basis functions which are 2-D tensor products of the 1-Dwavelet and scaling filters. The FWT algorithm is efficientcomputationally, with complexity of only O(n) (as compared to O(n·log n)complexity for Fast Fourier Transforms and DCTs). It is well-suited forreal-time computing implementations, including massively parallelcomputer architectures.

FIG. 4 depicts the application of the wavelet transform to a test image.The first iteration of the transform splits the image into three detailsubimages (highpass/highpass (HH) at lower right, highpass/lowpass (HL)at upper right, lowpass/highpass (LH) at lower left) and oneapproximation subimage (lowpass/lowpass (LL) at upper left).

The algorithm is then recursively iterated on the approximation subimageat upper left, yielding a final result divided into subimagescorresponding to various resolutions, with the finer resolutions towardthe bottom and right, the coarser resolutions toward the top and left,and the final low resolution approximation image at the upper leftcorner. In this figure, the magnitudes of the coefficients in the detailsubbands are represented by the intensity of the associated dots, withwhite representing zero magnitude and shades of gray which are darkenedwith increasing magnitudes. As will be noted, sequences of dots in thedetail subbands are indicative of larger coefficients along the edges ofthe image.

The orthogonality/biorthogonality properties of wavelet filters resultin filter structures which can be factored into pre-filters, resultingin simplified convolution computations. Factorization of the waveletfilters offers the following benefits: (i) interim computational resultsare shared over several convolution operations, thus substantiallyreducing redundant computations, (ii) Convolutions are computed usingsimple operations such as adds/subtracts and shifts, (iii) perfectreconstruction (invertible) wavelet transforms may be computed usingfixed point arithmetic with very low precision (only a few bits morethan the sample depth), and (iv) the transform can be computed in-placeby interleaving the approximation and detail coefficients produced bythe transform.

The time domain construction of wavelet filters overcomes manyconstraints of traditional constructions which are performed in theFourier domain. As such, it is possible to construct many novel bases,including non-linear wavelets, irregularly sampled wavelets,multi-wavelets (i.e., wavelets with multiple sets of filters), andwavelets on manifolds such as spherical surfaces.

By way of example, in conjunction with the factorization of the 5-3biorthogonal filters, the approximation coefficients a( ) of the forwardtransform (normalized by the L¹ norm and computed in a single dimension)are given by convolution of the samples x( ) using the scaling filter,followed by subsampling:

a(n)=−⅛x(2n−2)+ 2/8x(2n−1)+ 6/8x(2n)+ 2/8x(2n+1)−⅛x(2n+2)

The detail coefficients d( ) of the forward transform (L¹ normalized andcomputed in a single dimension) are given by convolution of the samplesx( ) using the wavelet filter, followed by subsampling:

d(n)=−¼x(2n)+ 2/4x(2n+1)−¼x(2n+2)

The scaling filter can be factored in terms of the wavelet filter,giving the following simplified expression for computation of theapproximation coefficients:

a(n)=½d(n−1)+x(2n)+½d(n)

The equations for the inverse transform are then obtained by simplyreversing the steps of the forward transform:

{circumflex over (x)}(2n)=−½d(n−1)+a(n)−½d(n)

{circumflex over (x)}(2n+1)=½{circumflex over(x)}(2n)+2d(n)+½{circumflex over (x)}(2n+2)

It is also possible to implement a “reversible” wavelet transformproviding perfect reconstruction while using finite precisionarithmetic. This is possible because the roundoff errors on the forwardtransform can be cancelled by the roundoff errors on the inversetransform. With this approach, the detail coefficients can be computedas:

${2{d(n)}} = {{x\left( {{2n} + 1} \right)} - \left\lfloor \frac{{x\left( {2n} \right)} + {x\left( {{2n} + 2} \right)} + 1}{2} \right\rfloor}$

where └ ┘ represents the “floor” operation, which truncates thefractional portion of the quotient. The division by two indicated inthis expression is a simple right shift operation, with the leastsignificant bit shifted out. The “1” added prior to the division (rightshift) operation is optional and changes the truncation to a roundingoperation. As shown below, the roundoff errors which result from thisdivision operation will be cancelled as part of the inverse transform.It is noted that the detail coefficient, 2d(n), obtained as a result ofthis convolution operation, is normalized at twice the nominal L¹normalization. This normalization requires a single bit of additionalprecision beyond the original precision of the samples x( ). Theadditional precision is retained to eliminate the need for a division orright shift operation on the odd-indexed sample x(2n+1), which wouldintroduce a loss of precision which could not be recovered. Thisincreased precision does not accumulate over resolution levels, sincethis added precision is used only on the computation of the detailcoefficients while the wavelet transform is iterated only on theapproximation coefficients. The approximation coefficients may now becomputed as:

${a(n)} = {{x\left( {2n} \right)} + \left\lfloor \frac{{2{d\left( {n - 1} \right)}} + {2{d(n)}} + 2}{4} \right\rfloor}$

The division by four indicated in this expression is a simple rightshift operation, with the two least significant bits shifted out. The“2” added prior to the right shift operation is optional and changes thetruncation to a rounding operation. The inverse transform is againobtained by simply reversing the steps of the forward transform:

${x\left( {2n} \right)} = {{a(n)} - \left\lfloor \frac{{2{d\left( {n - 1} \right)}} + {2{d(n)}} + 2}{4} \right\rfloor}$${x\left( {{2n} + 1} \right)} = {{2{d(n)}} + \left\lfloor \frac{{x\left( {2n} \right)} + {x\left( {{2n} + 2} \right)} + 1}{2} \right\rfloor}$

The division operations in these equations are identical to those in theforward transform and result in identical roundoff errors, but withopposite sign, thus cancelling the roundoff errors from the forwardtransform. The ̂ notation has been eliminated in the foregoing equationsto indicate that the samples are perfectly reconstructed. Theconvolution operations of the lifting scheme for the 5-3 biorthogonalwavelet basis are depicted in FIG. 5. This diagram depicts theconvolution operations at a single resolution level. In amultiresolution transform, these convolution operations would berecursively applied to the approximation coefficients.

A discrete transform of a finite length signal is traditionally computedusing a periodic extension of the signal, which is equivalent towrapping the signal on itself. An undesirable side effect of thisapproach is that it generally introduces a discontinuity at the boundaryof the signal, producing boundary artifacts in compressed imagery orsignals.

With symmetric basis functions, such as biorthogonal wavelet filters, asymmetric extension of the signal can be employed by reflecting thesignal at the boundary. When the point of symmetry on the signalextension matches the point of symmetry on the symmetric (orantisymmetric) filter, the filtering will produce a result which is alsosymmetric (or antisymmetric). With symmetry, the reflected coefficientsare redundant. Thus, with a finite signal of length N, the filteredresult of the signal and its reflection has only N unique coefficients.The advantage of symmetric extension over periodic extension is that thereflection at the boundary introduces no discontinuity in the signal,although the symmetric extension may introduce a change in slope. Byavoiding discontinuities, boundary artifacts under operations likequantization and lossy compression are reduced.

FIG. 6 shows an example of the application of the 5-3 biorthogonalwavelet filters to a symmetrically extended signal of even length 2N.Due to symmetry, the coefficients computed at the boundaries receivemultiple contributions from certain terms in the convolution. Forexample, approximation coefficient a(0) receives the contribution fromthe 2d/(0) term twice, once from the actual 2d(0) term and once from thereflected 2d(0) term. This has the effect of changing the weight of the2d(0) term from −¼ to −½. Thus, a result equivalent to symmetricextension can be obtained by modifying the filters at the boundaries totake into account the contributions from reflected terms.

FIG. 7 depicts the modification of the filters of the 5-3 biorthogonalbasis to account for the symmetric extension of an even length signal.The filter branches which have been modified are those extending fromX_(2N-2) to 2d_(N-1), from 2d₀ to a₀, from 2d₀ to x₀ and from X_(2N-2)to X_(2N-1). When symmetric extension is applied to an odd length signalof length 2N+1, the point of symmetry at the right boundary changes froman odd-indexed term to an even-indexed term, which changes the boundaryfilters on that side.

FIG. 8 depicts the modification of the filters of the 5-3 biorthogonalbasis to account for the symmetric extension of an odd length signal.The filter branches which have been modified are those extending from2d_(N-1) to a_(N), from 2d₀ to a₀, from 2d₀ to x₀ and from 2d_(N-1) tox_(2N).

In one embodiment, the method, apparatus and computer program productreplaces the data values representative of null posts, overlays or otherfeatures distinct from the underlying image in such a manner that thenull posts, overlays or other features distinct from the underlyingimage will produce no effect or minimal effect on the adjacent regionswithin the resulting image, following decompression, while also makingthe image relatively easy to compress.

As noted previously, the increased distortion effects associated withnull posts, overlays or other features distinct from the underlyingimage can be traced to the effects of the quantization of the waveletcoefficients associated with these features. Thus, the method, apparatusand computer program product of embodiments of the present inventioneliminates or mitigates these distortion effects by focusing upon thewavelet transform domain, so that the effects of quantization on thesecoefficients can be directly addressed.

The distortion effects that occur under lossy wavelet compression aredue to the manner in which sharp transitions such as edges and pointfeatures are represented by wavelet basis functions. Just as an edgespreads across frequency in the Fourier transform domain, introducingenergy into the coefficients at all frequencies, so an edge spreadsacross all resolution levels in the wavelet transform domain. Theprimary difference is that wavelet coefficients are spatially localized,so that an edge will affect only those coefficients whose basisfunctions overlap the location of the edge. Under lossy compression, thecoefficients of the wavelet transform are quantized. Due to theconsiderations which minimize distortion (as measured by RMS error), thequantization has a more severe effect at finer scales than at coarserscales. Thus, under lossy compression, the strong quantization effectson fine scale coefficients soften or blur an edge, and can also produceother effects such as ringing and aliasing. These effects become morepronounced as the compression ratio and quantization interval increases.

Examples of these effects are depicted in FIG. 9, where a lossywavelet-based compression technique is applied to two simple test imageswith high contrast squares or a high contrast circle. The compressionratios used in these examples are relatively high because the images aresimple and can be coded very efficiently. For the moderate compressionratios (334:1 on the squares and 240:1 on the circle), blurring isapparent. In the case of the circle, an aliasing effect is alsoapparent, which occurs due to the representation of the curving edge ofthe circle with primarily coarse resolution wavelets. At the highcompression ratios (771:1 on the squares and 528:1 on the circles), theblurring is even more severe, and ringing effects are also present. Theringing is due to the elimination of fine scale wavelets at the“sidelobes” of the edge. These fine scale wavelets ordinarily cancel outthe sidelobes of the coarse scale wavelets at the edge. As the finescale wavelets are removed by quantization, this cancellation no longeroccurs, leaving the ringing effect. This ringing can extend very farfrom the edge due to the large spatial extent of wavelet basis functionsat the coarse resolution levels.

The magnitude of blurring, aliasing, ringing, and otherquantization-induced distortion effects is directly related to themagnitude or contrast of the edge or transition in the image.Representation of high contrast edges requires wavelet coefficients withlarge magnitudes, and when quantization is applied to thesecoefficients, the resulting artifacts can be pronounced. Thus, thedistortion effects due to quantization of wavelet coefficients in nullpost regions can be mitigated by reducing the magnitude of those waveletcoefficients. If the magnitude of any coefficients can be reduced tozero, then the distortion due to quantization of those coefficients iseliminated, since zero-valued coefficients are unchanged byquantization, when using dead zone quantizers employed by JPEG 2000 andother lossy wavelet-based compression techniques. Reducing the magnitudeof the wavelet coefficients will also make the image easier to compress.The distribution of wavelet coefficients can be approximated by aLaplacian distribution centered at zero. Thus, reducing the coefficientmagnitudes will reduce the coefficient entropy and improve codingefficiency.

Because the distortion effects occasioned by null posts, overlays orother features distinct from the underlying image originate from thequantization of wavelet coefficients, the method, apparatus and computerprogram product of embodiments of the present invention will modify thewavelet coefficients associated with the null posts, overlays or otherfeatures distinct from the underlying image during the process ofcomputing the forward wavelet transform, and will then generate themodified image by applying the inverse wavelet transform to theresulting transform domain representation (which includes the modifiedcoefficients). More specifically, the method, apparatus and computerprogram product of embodiments of the present invention will determinethe forward wavelet transform, while modifying the wavelet coefficientsassociated with the null posts, overlays or other features distinct fromthe underlying image at each resolution iteration of the transform. Inone advantageous embodiment, the modifications to the waveletcoefficients will be made provided that in the resulting image (producedby the inverse wavelet transform), the data values for the remainder ofthe image, that is, those portions of the image other than the nullposts, overlays or other features distinct from the underlying image,are preserved, i.e., are unchanged as a result of the modifications tothe wavelet coefficients from the original image. Subject to theforegoing constraint relating to the preservation of the underlyingimage, if a wavelet coefficient is to be modified, the method, apparatusand computer program product of one embodiment will endeavor to set thewavelet coefficients to zero, if possible, or to as small of a value aspossible, if zero is not possible. In particular, the method, apparatusand computer program product of one embodiment will modify the waveletcoefficients so as to reduce, such as by minimizing, the mean squaredvalue for the wavelet coefficients.

For an image with N pixels (also referred to herein as samples or datavalues having respective locations), the inverse wavelet transform maybe represented as an N×N matrix which operates on N wavelet coefficientsto obtain a reconstruction of the N pixel image. The method, apparatusand computer program product can compress and decompress a variety ofimages, such as graphical images and photographic images, such as thosedisplayed upon computer monitors or other displays. Additionally, theimage may be comprised of elevation data, such as digital terrainelevation data, which associates an elevation with a respectivegeographical region. As noted above, the image may include an overlay orother feature that is distinct from the underlying image and thereforehas a value that differs substantially from the values of thesurrounding pixels. In the embodiment in which the image compriseselevation data, the image may include one or more null posts. Null postsare located in those regions for which accurate elevation data isunavailable. Null posts typically have a preassigned value, such as−32,768, which uniquely identifies the value to be associated with anull post since the value otherwise never occurs within the image. Forpurposes of example, one embodiment of the method, apparatus andcomputer program product will now be described in conjunction with animage comprised of elevation data that includes a plurality of nullposts. However, it should be understood that other embodiments of themethod, apparatus and computer program product can process other images,such as graphical images, that include overlays or other features thatare distinct from the underlying image.

By way of example, in instances in which the image having N pixels has Mnull posts, the determination of the appropriate modification of thewavelet coefficients may be viewed as a set of N simultaneous equations(defined by the inverse wavelet transform matrix), with M unknowns whichare the wavelet coefficients associated with the null posts. From thisperspective, the method, apparatus and computer program product of oneembodiment solves for these unknowns so as to minimize an objectivefunction, e.g., the mean squared value of the wavelet coefficients,subject to the constraint of preserving the data values at the non-nulllocations of the image. This system of equations could be solved using avariety of techniques including numerical linear algebra methods oriterative techniques. However, three factors conveniently allow thissimultaneous system of transform equations to be separated into smallersets of equations or even individual equations, which may be solveddirectly. These factors are: (i) the multiresolution structure of thewavelet transform allows the complete set of simultaneous transformequations to be separated into sets of simultaneous equations at eachresolution level, (ii) a wavelet transform is a separable transform,producing a two-dimensional transform by separate filtering of rows andcolumns, so as to permit further separation of the wavelet equations ata given resolution and to allow consideration of the coefficientmodification in the context of a single dimension at a time, and (iii)the factorization of the wavelet filter equations, combined with theinsertion of zeros in place of null-associated detail coefficients willallow the equations at a single resolution and a single dimension to beseparated into smaller sets of equations, which will lead to directsolution of substitution values for all null-associated waveletcoefficients.

Each pixel or other data value of an image is generally assigned anindex n with n generally being a non-negative integer, i.e., 0, 1, 2, 3,. . . . As shown below, the determination of wavelet coefficients whichare associated with odd-indexed null samples is straightforward.Furthermore, the techniques described below in conjunction withmodification of the wavelet coefficients will allow the detailcoefficients associated with odd-indexed null posts to be modified atthe current resolution level, while in many cases letting theeven-indexed null posts propagate directly to the approximationcoefficients (retaining the null post value), where they will beprocessed at one of the later (coarser) resolution levels of the wavelettransform. As such, the analysis of the processing of null posts withinthe wavelet transform can be restricted to a single dimension and asingle resolution level.

The method, apparatus and computer program product of embodiments of thepresent invention modify at least some and, more typically, allcoefficients associated with null regions, with the modificationsgenerally taking the form of extrapolation/interpolation from nearbycoefficients. In practice, when a null region is very large, thequantization of the coefficients associated with some null posts in theinterior of the region will have no effect on the values of any validsamples, i.e., non-null post pixels of the image, and therefore need notbe modified. However, the modification of even these coefficients may bebeneficial in terms of reducing the coefficient entropy and therebyimproving coding efficiency. Thus, the method, apparatus and computerprogram product of one embodiment will determine modifications for allcoefficients associated with null posts.

Although the method, apparatus and computer program product can employvarious lossy wavelet-based compression techniques with differentwavelet transforms, the method, apparatus and computer program productof one embodiment will be described hereinafter in conjunction with a5-3 wavelet transform for purposes of example, but not of limitation. Inthis regard, a 5-3 wavelet transform centers detail coefficients onodd-indexed samples and approximation coefficients on even-indexedsamples. The manner in which the method, apparatus and computer programproduct process various distributions of null-valued samples will now bedescribed.

An odd-indexed null sample, such as a null post located at the first,third, fifth, etc. position within an image, can be represented asfollows:

x(2n−1)=NULL

If possible, it would be advantageous to modify this sample value sothat the associated detail coefficient d(n) will be equal to zero if thevalues of the adjacent samples can be preserved. This result may beachieved by simply substituting the interpolated value:

${\overset{\Cap}{x}\left( {{2n} + 1} \right)} = \left\lfloor \frac{{x\left( {2n} \right)} + {x\left( {{2n} + 2} \right)} + 1}{2} \right\rfloor$

In one embodiment, however, this value need not be computed because itsonly use in the forward transform is for the computation of theassociated detail coefficient. Thus, the value for this associateddetail coefficient may, instead, be changed directly to zero:

{circumflex over (d)}(n)=0

The appropriate interpolated value for the odd-indexed null sample willthen be computed as part of the inverse wavelet transform. Thissituation is depicted in FIG. 10.

It is also noted that the detail coefficient associated with anodd-indexed null sample may be set equal to zero even in instances inwhich the odd-indexed null sample occurs at the end a line. For thissituation, the filter equations are handled by symmetric extension asdiscussed above. Even in this situation, the symmetric extension makesno difference and the associated detail coefficient may be set equal tozero. This change will result in the appropriate value for theodd-indexed null sample (which in this case is equal to the value of thepreceding sample) being generated by the inverse transform.

As such, it is noted that a detail coefficient associated with aodd-indexed null sample may be set to zero without regard to the valuesof the adjacent samples, and even more specifically, withoutconsideration of whether the adjacent samples have null values. Sincethe substitution value for the odd-indexed null sample will not begenerated until the inverse transform is computed, this willautomatically take into account any changes made to adjacent nullsamples. Additionally, it is noted that the insertion of a zero-valueddetail coefficient breaks the chain of the factored waveletcomputations. Without this effect, the operation of the wavelet filtersat a given resolution level define a system of simultaneous equations.The insertion of zero-valued detail coefficients facilitates theseparation of these equations into smaller systems of equations whichmay be solved directly. Additionally and advantageously, in embodimentsof the present invention which employ a lossy wavelet-based compressionalgorithm having a deadzone quantizer for which the quantized value forzero is zero regardless of the quantization interval, a zero-valuedcoefficient will be unaffected by quantization. Further, zero-valuedcoefficients minimize the energy of the image and are encoded moreefficiently than other values, thus improving the compressionperformance.

In contrast to odd-indexed null samples for which the correspondingdetail coefficients may simply be set to zero, the approximationcoefficients associated with even-indexed null samples, such as a nullpost located at the second, fourth, sixth, etc. position within animage, are also modified, but the type of modification depends upon thevalues of the adjacent samples. For example, one situation arises whenthree consecutive samples centered on an even index location are allnull as set forth below:

x(2n−1)=x(2n)=x(2n+1)=NULL

As noted above, the detail coefficients associated with the odd-indexedsamples may be directly set to zero:

{circumflex over (d)}(n−1)=0 and {circumflex over (d)}(n)=0

The approximation coefficient for the even-indexed null sample will nowbe computed (in accordance with the normal working of the forwardwavelet transform) as:

${a(n)} = {{{x\left( {2n} \right)} + \left\lfloor \frac{{2{\overset{\Cap}{d}\left( {n - 1} \right)}} + {2{\overset{\Cap}{d}(n)}} + 2}{4} \right\rfloor} = {{{NULL} + \left\lfloor \frac{{2 \cdot 0} + {2 \cdot 0} + 2}{4} \right\rfloor} = {NULL}}}$

Thus, an even-indexed null sample surrounded on both sides by nullsamples will produce a corresponding approximation coefficient which isalso null-valued. This null-valued approximation coefficient will thenpropagate directly to the next resolution level (or to the orthogonaldimension of the current resolution level). Ultimately, this null samplewill then be processed at a later stage of the forward wavelettransform. This situation is depicted in FIG. 11.

This approach extends to the situation where an even-indexed null startsor ends a line, and is adjacent to an odd-indexed null sample. In thissituation, even with the use of symmetric extension as described above,the null-valued approximation coefficient will still propagate directlyto the next resolution level (or to the orthogonal dimension of thecurrent resolution level). This null sample will then be handled by alater stage of the forward wavelet transform.

A second situation arises when an even-indexed sample is adjacent to anull sample on one side and a valid sample on the other side. In thissituation, the manner in which approximation coefficient associated withthe even-indexed null samples will be modified will depend upon thedirection of processing, that is, either processing the coefficientsassociated with samples having lower indices to samples having largerindices or processing the coefficients associated with samples havinglarger indices to samples having lower indices. Without loss ofgenerality, one embodiment in which the wavelet transform computationsand the associated processing of null samples proceeds from sampleshaving lower indices to samples having higher indices will be describedhereinafter. However, other embodiments of the method, apparatus andcomputer program product contemplate that the wavelet transformcomputations and the associated processing of null samples proceeds fromsamples having higher indices to samples having lower indices.

Returning to the embodiment in which processing proceeds from sampleshaving lower indices to samples having higher indices, one situation isdefined by an even-indexed null post with the preceding sample alsobeing a null post, and the following sample being valid, that is, havinga value other than that of a null post, as set forth below:

x(2n−1)=x(2n)=NULL x(2n+1)≠NULL

As described above, the detail coefficient associated with the precedingnull may be directly set to zero:

{circumflex over (d)}(n−1)=0

Since the detail coefficient d(n) is not directly zeroed, theapproximation coefficient associated with the even-indexed null samplex(2n) must be differently modified. Proper operation of the wavelettransform requires that the same value for x(2n) must be used on boththe forward and inverse transforms, except possibly for changes due toquantization or other processing. Thus, in order to avoid allowing thenull value to affect the detail coefficient d(n), the sample x(2n) mustbe modified prior to the computation of d(n). In this regard, the valuefor the sample x(2n) which will minimize the detail coefficient d(n) maybe selected in accordance with the following equation:

${2{d(n\;)}} = {{x\left( {{2n} + 1} \right)} - \left\lfloor \frac{{x\left( {2n} \right)} + {x\left( {{2n} + 2} \right)} + 1}{2} \right\rfloor}$

This is a fixed point approximation for the 5-3 wavelet filter, used inthe so-called “lifting scheme” or “reversible” wavelet transformdescribed above. The 5-3 wavelet filter possesses two vanishing moments,meaning that it will produce a zero result for polynomials up toorder 1. Thus, it would be desirable to extrapolate a new value forx(2n) from the adjacent valid coefficients, preferably resulting in apolynomial of order 1 or lower over the three samples x(2n), x(2n+1),and x(2n+2). For the variation where the rightmost sample x(2n+2) isvalid, a linear extrapolation will be performed which will produce avalue of zero for the detail coefficient d(n):

{circumflex over (x)}(2n)=2x(2n+1)−x(2n+2)

For the situation when the rightmost sample x(2n+2) is a null, it is notyet known what the replacement value for this null will be. This is thesituation where the directionality of processing comes into play. Thereare two possible strategies, namely, (i) directly determine thereplacement value for x(2n) without knowledge of the replacement valuefor x(2n+2), or (ii) simultaneously determine the replacement values forx(2n) and x(2n+2) (and possibly for additional samples at higherindices).

Although either strategy is acceptable, the strategy involving directlydetermining the replacement value for x(2n) without knowledge of thereplacement value for x(2n+2) may be preferred in some situations sincean embodiment premised upon the simultaneous determination ofreplacement values for x(2n) and x(2n+2) must be capable of handling thegrowth in the number of simultaneous equations that may occur when thereare additional even-indexed null samples beyond x(2n+2). Additionally,if {circumflex over (x)}(2n) is determined directly, the replacementvalue for x(2n+2) can later be determined in a manner that is consistentwith the modified sample {circumflex over (x)}(2n) and the valid samplex(2n+1). In fact, if sample x(2n+3) is a null, then {circumflex over(x)}(2n) may be simply set equal to x(2n+2), which will produce a valueof zero for detail coefficient d(n). If sample x(2n+3) is not a null,then the value for the null sample x(2n+2) may be determined byinterpolation between the surrounding valid samples (in the mannerdescribed below. Interpolating x(2n+2) in this manner will not guaranteea zero value for the detail coefficient d(n), but will produce a smallvalue for d(n) since the interpolation will take into account the valuesfor {circumflex over (x)}(2n) and x(2n+1). Finally, the directdetermination of {circumflex over (x)}(2n) is generally much simplerboth in implementation and in computation.

For purposes of example, but not of illustration, the method, apparatusand computer program product of one embodiment in which the replacementvalue for x(2n) is directly determined is hereinafter described. In thisregard, with a null sample preceding and a valid sample following aneven-indexed null sample x(2n), the replacement value is computed as anextrapolation from either one or two valid samples:

${\overset{\Cap}{x}\left( {2n} \right)} = \left\{ \begin{matrix}{{{2{x\left( {{2n} + 1} \right)}} - {x\left( {{2n} + 2} \right)}},} & {{x\left( {{2n} + 2} \right)} \neq {NULL}} \\{{x\left( {{2n} + 1} \right)},} & {{x\left( {{2n} + 2} \right)} = {NULL}}\end{matrix} \right.$

In the alternate directional case in which a valid sample precedes and anull sample follows an even-indexed null sample, the samples may berepresented as follows:

x(2n−1)≠NULL x(2n)=x(2n+1)=NULL

Because this case is the mirror image of the preceding directional case,the replacement value for x(2n) can be computed as:

${\overset{\Cap}{x}\left( {2n} \right)} = \left\{ \begin{matrix}{{{2{x\left( {{2n} - 1} \right)}} - {x\left( {{2n} - 2} \right)}},} & {{x\left( {{2n} - 2} \right)} \neq {NULL}} \\{{x\left( {{2n} - 1} \right)},} & {{x\left( {{2n} - 2} \right)} = {NULL}}\end{matrix} \right.$

However, these equations can be simplified since the processing proceedsfrom samples having lower indices to samples having higher indices,which means than if the sample x(2n−2) was originally a null sample, itwould have been replaced by a non-null value, leaving:

{circumflex over (x)}(2n)=2x(2n−1)−x(2n−2)

This approach also extends to the situation where the even-indexed nullat location 2n is the penultimate coefficient at the end of a line(i.e., n_(max)=2n+1), followed by a single valid sample in the lastsample of the line. In this situation, the extrapolation would only befrom a single sample value, making the replacement value equal to thefinal sample value:

{circumflex over (x)}(2n)=x(2n+1)=x(n _(max))

A still additional situation involving an even-indexed null sample isthat presented by a single even-indexed null sample, surrounded by validsamples on either side. For example, consider the case of:

x(2n)=NULL x(2n−1)≠NULL x(2n+1)≠NULL

This null sample affects two detail coefficients, d(n−1) and d(n). Assuch, the method, apparatus and computer program product will choose avalue for x(2n) which reduces or, more preferably, minimizes the sum ofthe squared values for these detail coefficients. Since thesecoefficients are also dependent on x(2n−2) and x(2n+2), those samplesmust also be taken into account as well. Because the processing of oneadvantageous embodiment proceeds from samples having lower indices tosamples having higher indices, any null value at sample location x(2n−2)would have been replaced by a non-null value. Thus, the only twovariations that must be considered are where x(2n+2) is valid or a null.

To minimize the sum of squares as a function of the interpolated samplevalue, non-fixed point wavelet filter equations, which aredifferentiable, will be used. For notational clarity, the interpolatedvalue for x(2n) will be represented as I in the following equationdefining the sum of squares function:

$\begin{matrix}{{Sum} = {\left\lbrack {{{- \frac{1}{4}}{x\left( {{2n} - 2} \right)}} + {\frac{2}{4}{x\left( {{2n} - 1} \right)}} - {\frac{1}{4}I}} \right\rbrack^{2} +}} \\{\left\lbrack {{{- \frac{1}{4}}I} + {\frac{2}{4}{x\left( {{2n} + 1} \right)}} - {\frac{1}{4}{x\left( {{2n} + 2} \right)}}} \right\rbrack^{2}} \\{= {{\frac{1}{16}\left\lbrack {x\left( {{2n} - 2} \right)} \right\rbrack}^{2} - {\frac{1}{4}{x\left( {{2n} - 2} \right)}{x\left( {{2n} - 1} \right)}} + {\frac{1}{8}{x\left( {{2n} - 2} \right)}I} +}} \\{{{\frac{1}{4}\left\lbrack {x\left( {{2n} - 1} \right)} \right\rbrack}^{2} - {\frac{1}{4}{x\left( {{2n} - 1} \right)}I} + {\frac{1}{16}I^{2}} +}} \\{{{\frac{1}{16}I^{2}} - {\frac{1}{4}{{Ix}\left( {{2n} + 1} \right)}} + {\frac{1}{8}{{Ix}\left( {{2n} + 2} \right)}} +}} \\{{{\frac{1}{4}\left\lbrack {x\left( {{2n} + 1} \right)} \right\rbrack}^{2} - {\frac{1}{4}{x\left( {{2n} + 1} \right)}{x\left( {{2n} + 2} \right)}} + {\frac{1}{16}\left\lbrack {x\left( {{2n} + 2} \right)} \right\rbrack}^{2}}} \\{= {{\frac{1}{8}I^{2}} + {\left\lbrack {{\frac{1}{8}{x\left( {{2n} - 2} \right)}} - {\frac{1}{4}{x\left( {{2n} - 1} \right)}} - {\frac{1}{4}{x\left( {{2n} + 1} \right)}} + {\frac{1}{8}{x\left( {{2n} + 2} \right)}}} \right\rbrack I} -}} \\{{{\frac{1}{4}{x\left( {{2n} - 2} \right)}{x\left( {{2n} - 1} \right)}} + {\frac{1}{4}\left\lbrack {x\left( {{2n} - 1} \right)} \right\rbrack}^{2} + {\frac{1}{4}\left\lbrack {x\left( {{2n} + 1} \right)} \right\rbrack}^{2} -}} \\{{{\frac{1}{4}{x\left( {{2n} + 1} \right)}{x\left( {{2n} + 2} \right)}} + {\frac{1}{16}\left\lbrack {x\left( {{2n} + 2} \right)} \right\rbrack}^{2}}}\end{matrix}$

This sum of squares is minimized by:

{circumflex over (x)}(2n)=I=½x(2n−2)+x(2n−1)+x(2n+1)−½x(2n+2)

This interpolation can be interpreted as an average of the extrapolationof the slopes from both sides. This equation will apply directly for thevariation where the sample x(2n+2) is not a null. However, when x(2n+2)is a null, the replacement value for x(2n) is determined withoutknowledge of the replacement value for x(2n+2). As noted above, thisdirect approach (as opposed to an approach which simultaneouslydetermines the replacement values for x(2n) and x(2n+2)) is typicallyadvantageous in terms of simplicity and avoidance of a potentiallygrowing set of simultaneous equations. Operating without knowledge ofx(2n+2), that sample, i.e., x(2n+2), (as well as the associated slopeinformation) is eliminated from the upper indices, so that theinterpolating term from the upper indices comes from a single validsample x(2n+1). Taking both variations for x(2n+2) into account, theinterpolating equation becomes:

${\hat{x}\left( {2n} \right)} = \left\{ \begin{matrix}{{{{- \frac{1}{2}}{x\left( {{2n} - 2} \right)}} + {x\left( {{2n} - 1} \right)} + {x\left( {{2n} + 1} \right)} - {\frac{1}{2}{x\left( {{2n} + 2} \right)}}},} & {{x\left( {{2n} + 2} \right)} \neq {NULL}} \\{{{{- \frac{1}{2}}{x\left( {{2n} - 2} \right)}} + {x\left( {{2n} - 1} \right)} + {\frac{1}{2}{x\left( {{2n} + 1} \right)}}},} & {{x\left( {{2n} + 2} \right)} = {NULL}}\end{matrix} \right.$

This approach also extends to the situation where the even-indexed nullat location 2n is the penultimate coefficient at the end of a line(i.e., n_(max)=2n+1), followed by a single valid sample in the lastsample of the line. In this situation, the interpolating term from theupper indices comes from a single valid sample x(2n+1), so that theinterpolating equation becomes:

{circumflex over(x)}(2n)=−½x(2n−2)+x(2n−1)+½x(2n+1)=−½x(2n−2)+x(2n−1)+½n(n _(max))

Typically, the situation where an even-indexed null occurs at the secondlocation in a line, preceded by a single valid sample in the firstlocation, is not of concern. This situation will not commonly arisesince most images start with the upper left corner located at index(0,0), which leads to even-indexed samples at the start of each line inboth dimensions at all resolution levels. It is noted, however, thatJPEG 2000 images may depart from this convention for images that arelocated at an arbitrary location on an image canvas such as, forexample, an image that may be cropped in the transform domain resultingin an upper left corner which is not located at index location (0,0). Assuch, in instances in which an even-indexed null occurs at the secondlocation in a line, preceded by a single valid sample in the firstlocation, the same methodology as that described above in conjunctionwith the processing of an even-indexed null sample being the penultimatecoefficient at the end of a line followed by a single valid sample maybe employed with the equations described above simply being mirrored.

The detail and approximation coefficients associated with null postvalues are modified, or at least modification is considered, at eachstage or resolution of a forward wavelet transform. When the wavelettransform reaches the final approximation subband, any remaining nullpost values may be replaced using bilinear interpolation (orextrapolation at the edges). While this final coarse resolutioninterpolation is not necessary from the standpoint of quantizationeffects on valid samples, it should slightly reduce the coding cost, andwill facilitate the display of the interpolated image. Note, however,that the interpolations will seldom be displayed, since the null mapwill normally be overlaid on the reconstructed image prior to display.After interpolation has been performed at all resolution levels, thefinal interpolated image will be generated by applying the inversewavelet transform to the interpolated wavelet decomposition.

Using the interpolation method described above, the overall compressionprocess can be described as follows with reference to FIG. 12. The imagedata 10, e.g., elevation data, is scanned for the locations of nullposts. The locations of the null posts may be identified, such as in amap, e.g., a null map. See block 14. In order to further the compressionobjectives, the map or other representation of the locations of the nullpost may be encoded, such as by a combination of run length coding andentropy coding. See block 14. Other encoding techniques can be employedif desired.

Thereafter, a modified forward wavelet transform is performed asdescribed above and as shown in block 16 in order to replace waveletcoefficients associated with null posts with values which will reducequantization effects and maintain or improve compression performance. Aninverse wavelet transform is applied as shown in block 18 to the resultof the modified forward wavelet transform in order to produce aninterpolated image in which the null posts have been interpolated withappropriate values.

A lossy wavelet-based compression technique, such as JPEG 2000 or theEagleEye™ wavelet-based compression algorithm utilized by The BoeingCompany, is then used to compress the interpolated image. See block 20.In instances in which the locations of the null posts have also beenencoded, the compressed representation of the locations of the nullposts may be appended to the compressed image file. The compressed filecan then be stored, transferred or the like more readily.

In one alternative embodiment, the modified forward wavelet transformemployed to provide processing of null posts may be directlyincorporated within the wavelet-based compression algorithm. This isequivalent to omitting the inverse wavelet transform applied in block 18and proceeding directly to quantization and encoding of the modifiedwavelet coefficients.

The originally described approach of generating a modified image inwhich the null post values are replaced has the advantage that thehandling of null posts is isolated within preprocessing andpost-processing operations which do not require direct modification ofexisting wavelet-based compression algorithms such as EagleEye and JPEG2000. This allows this method to be used in conjunction with existingwavelet codecs without directly modifying the codec software, butinstead using the null post handling software as a “wrapper” around theexisting codecs. The second approach has the advantage that it reducescomputation by eliminating an extra stage of the inverse wavelettransform (to produce the interpolated image) and the forward wavelettransform (within the wavelet-based compression algorithm).

In order to decompress an image file that has been compressed inaccordance with embodiments of the present invention, the compressedrepresentation of the locations of the null posts may initially beseparated from the compressed image file, as shown in FIG. 13. Awavelet-based decompression algorithm corresponding to that utilized thecompress the image may then be employed decompress and reconstruct theinterpolated image data. See block 30. The compressed representation ofthe null posts may also be decoded and the original values of the nullposts are then overlaid upon the proper locations within the resultingimage, thereby replacing the replacement values that were previouslydetermined during compression. See blocks 32 and 34. As described above,the method, apparatus and computer program product of the variousembodiments of the present invention therefore recover the originalimage as shown in block 36 while eliminating the undesirable effects dueto quantization of null posts and improving the performance of thecompression algorithm.

As shown in FIG. 14, the apparatus 40 of embodiments of the presentinvention is typically embodied by a processing element 42 and anassociated memory device 44, both of which are commonly comprised by acomputer or the like. In this regard, the method of embodiments of thepresent invention as set forth generally in FIGS. 12 and 13 can beperformed by the processing element executing a computer programinstructions stored by the memory device. The memory device may alsostore the initial image data as well as the intermediate and finalresults of the foregoing compression and decompression processes. Thecomputer can include a display 46 for presenting the image and any otherinformation relative to performing embodiments of the method of thepresent invention.

According to one aspect of the present invention, the apparatus ofembodiments of the present invention generally operates under control ofa computer program product according to another aspect of the presentinvention. The computer program product for performing the methods ofembodiments of the present invention includes a computer-readablestorage medium, such as the non-volatile storage medium, andcomputer-readable program code portions, such as a series of computerinstructions, embodied in the computer-readable storage medium.

In this regard, FIGS. 12 and 13 are flowcharts of methods, systems andprogram products according to exemplary embodiments of the presentinvention. It will be understood that each block or step of theflowchart, and combinations of blocks in the flowchart, can beimplemented by computer program instructions. These computer programinstructions may be loaded onto a computer or other programmableapparatus to produce a machine, such that the instructions which executeon the computer or other programmable apparatus create means forimplementing the functions specified in the flowchart block(s) orstep(s). These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable apparatus to function in a particular manner, such that theinstructions stored in the computer-readable memory produce an articleof manufacture including instruction means which implement the functionspecified in the flowchart block(s) or step(s). The computer programinstructions may also be loaded onto a computer or other programmableapparatus to cause a series of operational steps to be performed on thecomputer or other programmable apparatus to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide steps for implementingthe functions specified in the flowchart block(s) or step(s).

Accordingly, blocks or steps of the flowchart support combinations ofmeans for performing the specified functions, combinations of steps forperforming the specified functions and program instruction means forperforming the specified functions. It will also be understood that eachblock or step of the flowchart, and combinations of blocks or steps inthe flowchart, can be implemented by special purpose hardware-basedcomputer systems which perform the specified functions or steps, orcombinations of special purpose hardware and computer instructions.

Many modifications and other embodiments of the invention will come tomind to one skilled in the art to which this invention pertains havingthe benefit of the teachings presented in the foregoing descriptions andthe associated drawings. Therefore, it is to be understood that theinvention is not to be limited to the specific embodiments disclosed andthat modifications and other embodiments are intended to be includedwithin the scope of the appended claims. Although specific terms areemployed herein, they are used in a generic and descriptive sense onlyand not for purposes of limitation.

That which is claimed is:
 1. A method of decompressing image datacomprising a plurality of data values, the method comprising:identifying original data values for a first subset of data values;decompressing a compressed representation of the image data inaccordance with a wavelet-based decompression technique; identifyingrespective locations of one or more data values of the first subset; andreplacing the one or more data values of the first subset withrespective original data values.
 2. A method according to claim 1wherein identifying original data values for a first subset comprisesproviding a map of the original data values for the first subset as wellas the respective locations of the original data values within the imagedata.
 3. A method according to claim 2 wherein providing the map of theoriginal data values comprises providing an encoded representation ofthe map and decoding the encoded representation of the map.
 4. Acomputer program product for decompressing image data comprising aplurality of data values, the computer program product comprising atleast one computer-readable storage medium having computer-readableprogram code portions stored therein, the computer-readable program codeportions comprising: a first executable portion for identifying originaldata values for a first subset of data values; a second executableportion for decompressing a compressed representation of image data inaccordance with a wavelet-based decompression technique; a thirdexecutable portion for identifying respective locations of one or moredata values of the first subset; and a fourth executable portion forreplacing the one or more data values of the first subset withrespective original data values.
 5. A computer program product accordingto claim 4 wherein the first executable portion includes instructionsfor providing a map of the original data values for the first subset aswell as the respective locations of the original data values within theimage data.
 6. A computer program product according to claim 5 whereinthe first executable portion includes instructions for decoding anencoded representation of the map.